function logSplit(str = '') {
    if (str.length > 0) console.log('-'.repeat(37) + str + '-'.repeat(37));
    else console.log('-'.repeat(77));
}

// 测试手机号
function testMobile(phone) {
    let regex = /^1[3-9][0-9]{9}$/g;
    return regex.test(phone);
}

logSplit('测试手机号');
// [
//     '13700000000', // true
//     '15601907837', // true
//     '13918288160', // true
//     '1', // false
//     '2', // false
//     '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',
// ].forEach((ele) => {
//     console.log(`${testMobile(ele)} for ${ele}`);
// });

/**
 * 测试给定的 qq 号码是否有效
 * @param {string} qq - 要测试的 QQ 号码字符串
 * @returns {boolean} 如果 qq 号码有效则返回 true，否则返回 false
 */
function testQQ(qq) {
    let regex = /^[1-9][0-9]{4,10}$/g;
    return regex.test(qq);
}
logSplit('测试QQ号');
// [
//     '476257993',
//     '549015172',
//     '56541234',
//     '1',
//     '2',
//     '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',
// ].forEach((ele) => {
//     console.log(`${testQQ(ele)} for ${ele}`);
// });

function testHexColor(color) {
    let regex = /^#([a-zA-Z0-9]{6}|[a-zA-Z0-9]{3})$/g;
    return regex.test(color);
}
logSplit('测试Hex颜色');
['#FFF', 'FFF', '#F1F2F2', '#333', '000', '#000'].forEach((ele) => {
    console.log(`${testHexColor(ele)} for ${ele}`);
});

function testEmail(email) {
    let regex = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,4})$/g;
    return regex.test(email);
}

logSplit('测试邮箱');
['superzdd@sina.com', '476257993@qq.com', 'dan.lao-shi@bilibili.com'].forEach(
    (ele) => {
        console.log(`${testEmail(ele)} for ${ele}`);
    }
);

function testUrl(url) {
    let regex =
        /^(https?:\/\/)?([a-z\d_\-\.]+)([a-z\.]{2,6})([\/\w\.\-]*)\/?$/g;
    return regex.test(url);
}

logSplit('测试URL');
['nba.hupu.com', 'consmuer.huawei.cn/support/', 'www.baidu.com'].forEach(
    (ele) => {
        console.log(`${testUrl(ele)} for ${ele}`);
    }
);
